<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>K5G-C</title>
    <link rel="stylesheet" href="./css/common.css" />
    <link rel="stylesheet" href="./css/index.css" />
</head>
<body>
    <div class="main">
        <div class="tit-heade">
            <div class="itemOne">
                <img src="./image/left.png" >
            </div>
            <div class="itemTwo">
                <div class="item-chil">
                    <img src="./image/logoutOne.png">
                </div>
                <div class="item-chil">
                    <a href="/action/logout">ログアウト</a>
                </div>
                
            </div>
        </div>  
        <div class="nav2">
            <div class="nav-item">
                <div id='x1' class="item" onclick="toPage('./home.html')">ホーム</div>
            </div>
            <div class="nav-item">
                <div id='x2' class="item no-act" onclick="toPage('./mobileData.html')">モバイルネットワーク</div>
            </div>
            <div class="nav-item">
                <div id='x3' class="item no-act" onclick="toPage('./wifi.html')">Wi-Fi設定</div>
                <div class="hide">
                    <div>
                        <div id='x31' class="item1 no-act">wifi設定</div>
                        <div class="hide">
                            <div class="item2" id="wifi1" onclick="toPage('./wifi.html')">Wi-Fi</div>
                            <div class="item2" id="wifi2" onclick="toPage('./wifiList.html')">Wi-Fi 接続情報</div>
                            <div class="item2" id="wifi_list" onclick="toPage('./wifiManage.html')">接続デバイスの管理</div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="nav-item">
                <div id='x4' class="item no-act" onclick="toPage('./dhcp.html')">Ethernet設定</div>
                <div class="hide">
                    <div>
                        <div id='x41' class="item1 no-act">DHCP固定割当設定</div>
                        <div class="">
                            <div class="item2" id="DHCP">DHCP固定割当設定</div>
                            <div class="item2" id="MAC">MAC IP Bindingリスト</div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="nav-item">
                <div id='x5' class="item no-act" onclick="toPage('./port.html')">LAN設定</div>
                <div class="">
                    <div>
                        <div id='x51' class="item1 no-act" onclick="toPage('./port.html')">ポートフォワーディング</div>
                        <div class="hide">
                            <div class="item2 " id="port" onclick="toPage('./port.html')">ポートフォワーディング</div>
                            <div class="item2" id="port_list" onclick="toPage('./portList.html')">ポートフォワーディングリスト</div>
                        </div>
                    </div>
                    <div>
                        <div id='x52' class="item1 no-act" onclick="toPage('./ipFiltering.html')">IPパケットフィルタリング</div>
                        <div class="hide">
                            <div class="item2 " id="IP" onclick="toPage('./ipFiltering.html')">IPパケットフィルタリング</div>
                            <div class="item2 " id="IP_list" onclick="toPage('./ipList.html')">IPパケットフィルタリングリスト</div>
                        </div>
                    </div>
                    <div>
                        <div id='x54' class="item1 no-act" onclick="toPage('./ipv6Filtering.html')">IPv6パケットフィルタリング</div>
                        <div class="">
                            <div class="item2 choose" id="IPV6">IPv6パケットフィルタリング</div>
                            <div class="item2" id="IPV6_list" onclick="toPage('./ipv6List.html')">IPv6パケットフィルタリングリスト</div>
                        </div>
                    </div>
                    <div>
                        <div id='x55' class="item1"
                             onclick="toPage('./wan.html')">
                            WANポートPingブロック
                        </div>
                    </div>
                    <div>
                        <div id='x53' class="item1"
                             onclick="toPage('./dmz.html')">
                            DMZ
                        </div>
                    </div>
                </div>
            </div>
            <div class="nav-itm">
                <div id='x6' class="item no-act" onclick="toPage('./password.html')">端末設定</div>
                <div class="hide">
                    <div>
                        <div class="">
                            <div class="item" onclick="toPage('./password.html')">パスワード設定</div>
                            <div class="item" onclick="toPage('./dataUsage.html')">データ使用量</div>
                            <div class="item" onclick="toPage('./reboot.html')">リブート</div>
                            <div class="item" onclick="toPage('./deviceInformation.html')">デバイス情報</div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="content">
            <div class="title">IPv6パケットフィルタリング</div>
            <div style="margin-left: 100px;margin-top: 10px;">
                <p>設定されたルールに従ってIPv6パケットをフィルタリングします。</p>
                <p>DROP : 対象パケットの通過を許可せず、相手に通知せずに破棄する。</p>
                <p>REJECT : 対象パケットの通過を許可せず、相手に拒否通知する。</p>
                <p>ACCEPT : 対象パケットの通過を許可する。</p>
            </div>
            <div class="ip">
                <form action="" class="default-form">
                    <table class="input-table">
                        <tbody>
                            <tr>
                                <th>動作</th>
                                <td>
                                    <select class="default-select" name="action" id="action">
                                        <option value="DROP">DROP</option>
                                        <option value="REJECT">REJECT</option>
                                        <option value="ACCEPT">ACCEPT</option>
                                    </select>
                                </td>
                            </tr>
                            <tr>
                                <th>方向</th>
                                <td> <label style="display: block;">
                                        <input class="a-radio" type="radio" name="direction" value="0" checked><span
                                            class="b-radio"></span>Internet ⇒ LAN
                                    </label>
                                    <label style="display: block;">
                                        <input class="a-radio" type="radio" name="direction" value="1"><span
                                            class="b-radio"></span>LAN ⇒ Internet
                                    </label></td>
                            </tr>
                            <tr>
                                <th>送信元IPv6アドレス</th>
                                <td><input type="text" class="default-input" name="source_ipv6_address_start"
                                        id="source_ipv6_address_start" />
                                    <span class="default-icon">~</span>
                                    <input type="text" class="default-input" name="source_ipv6_address_end"
                                        id="source_ipv6_address_end" />
                                </td>
                            </tr>
                            <tr>
                                <th>宛先IPv6アドレス</th>
                                <td><input type="text" class="default-input" name="target_ipv6_address_start"
                                        id="target_ipv6_address_start" />
                                    <span class="default-icon">~</span>
                                    <input type="text" class="default-input" name="target_ipv6_address_end"
                                        id="target_ipv6_address_end" />
                                </td>
                            </tr>
                            <tr>
                                <th>プロトコル</th>
                                <td>
                                    <label style="display: block;">
                                        <input class="a-radio" type="radio" name="protocol" value="ALL" checked><span
                                            class="b-radio"></span>ALL(TCP,UDP)
                                    </label>
                                    <label style="display: block;">
                                        <input class="a-radio" type="radio" name="protocol" value="TCP"><span
                                            class="b-radio"></span>TCP
                                    </label>
                                    <label style="display: block;">
                                        <input class="a-radio" type="radio" name="protocol" value="UDP"><span
                                            class="b-radio"></span>UDP
                                    </label>
                                </td>
                            </tr>
                            <tr>
                                <th>送信元ポート番号</th>
                                <td><input type="text" class="default-input" name="source_port_no_start"
                                        id="source_port_no_start" />
                                    <span class="default-icon">~</span>
                                    <input type="text" class="default-input" name="source_port_no_end"
                                        id="source_port_no_end" />
                                </td>
                            </tr>
                            <tr>
                                <th>宛先ポート番号</th>
                                <td><input type="text" class="default-input" name="target_port_no_start"
                                        id="target_port_no_start" />
                                    <span class="default-icon">~</span>
                                    <input type="text" class="default-input" name="target_port_no_end"
                                        id="target_port_no_end" />
                                </td>
                            </tr>
                        </tbody>
                    </table>
                    <div class="horizontal-box">
                        <div class="submit-btn" onclick="ipv6FilteringSubmit()">適用
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <script src="./js/utils.js"></script>
    <script>
        window.onload = function () {
            testAction()
            getSimNum()
        }

        function getSimNum() {
            var num = sessionStorage.getItem('activeSimNumber')
            if (num == 0) {
                var btn = document.getElementById('x2')
                btn.onclick = function() {}
                btn.style.backgroundColor = '#eee'
            }

            var params = {}
            Ajax.post(baseUrl + '/action/getActiveSimCardNumber', JSON.stringify(params), function(res) {
                var response = JSON.parse(res)
                if (response.status == 'success') {
                    sessionStorage.setItem('activeSimNumber', response.data.activeSimNumber)
                }
            })
        }
        function ipv6FilteringSubmit() {
            if(!document.getElementById("source_ipv6_address_start").value && document.getElementById("source_ipv6_address_end").value) {
                Message.info('送信元IPv6アドレスを入力してください')
                return false
            }
            if(document.getElementById("source_ipv6_address_start").value && !IPV6Test(document.getElementById("source_ipv6_address_start").value)) {
                Message.info('送信元IPv6アドレスが正しくありません')
                return false
            }
            if(document.getElementById("source_ipv6_address_end").value && !IPV6Test(document.getElementById("source_ipv6_address_end").value)) {
                Message.info('送信元IPv6アドレスが正しくありません')
                return false
            }
            if(!document.getElementById("target_ipv6_address_start").value && document.getElementById("target_ipv6_address_end").value) {
                Message.info('宛先IPv6アドレスを入力してください')
                return false
            }
            if(document.getElementById("target_ipv6_address_start").value && !IPV6Test(document.getElementById("target_ipv6_address_start").value)) {
                Message.info('宛先IPv6アドレスが正しくありません')
                return false
            }
            if(document.getElementById("target_ipv6_address_end").value && !IPV6Test(document.getElementById("target_ipv6_address_end").value)) {
                Message.info('宛先IPv6アドレスが正しくありません')
                return false
            }
            if(!document.getElementById("source_port_no_start").value && document.getElementById("source_port_no_end").value) {
                Message.info('送信元ポート番号を入力してください')
                return false
            }
            if(document.getElementById("source_port_no_start").value && !portTest(document.getElementById("source_port_no_start").value)) {
                Message.info('送信元ポート番号が正しくありません')
                return false
            }
            if(document.getElementById("source_port_no_end").value && !portTest(document.getElementById("source_port_no_end").value)) {
                Message.info('送信元ポート番号が正しくありません')
                return false
            }
            if (document.getElementById("source_port_no_start").value && parseInt(document.getElementById("source_port_no_end").value) <= parseInt(document.getElementById("source_port_no_start").value)) {
                Message.info('送信元ポート番号が正しくありません')
                return false
            }
            if(!document.getElementById("target_port_no_start").value && document.getElementById("target_port_no_end").value) {
                Message.info('宛先ポート番号を入力してください')
                return false
            }
            if(document.getElementById("target_port_no_start").value && !portTest(document.getElementById("target_port_no_start").value)) {
                Message.info('宛先ポート番号が正しくありません')
                return false
            }
            if(document.getElementById("target_port_no_end").value && !portTest(document.getElementById("target_port_no_end").value)) {
                Message.info('宛先ポート番号が正しくありません')
                return false
            }
            if (document.getElementById("target_port_no_start").value && parseInt(document.getElementById("target_port_no_end").value) <= parseInt(document.getElementById("target_port_no_start").value)) {
                Message.info('宛先ポート番号が正しくありません')
                return false
            }
            var params = {
                "action": Utils.GetSelectValue('action'),
                "direction": Utils.GetRadioValue('direction'),
                "source_ipv6_address_start": document.getElementById("source_ipv6_address_start").value,
                "source_ipv6_address_end": document.getElementById("source_ipv6_address_end").value,
                "target_ipv6_address_start": document.getElementById("target_ipv6_address_start").value,
                "target_ipv6_address_end": document.getElementById("target_ipv6_address_end").value,
                "protocol": Utils.GetRadioValue('protocol'),
                "source_port_no_start": document.getElementById("source_port_no_start").value,
                "source_port_no_end": document.getElementById("source_port_no_end").value,
                "target_port_no_start": document.getElementById("target_port_no_start").value,
                "target_port_no_end": document.getElementById("target_port_no_end").value,
            }
            Ajax.post(baseUrl + '/action/ipv6FilteringSubmit',JSON.stringify(params),function(res) {
                var response = JSON.parse(res)
                if(response.status == 'success') {
                    Message.info("設定を追加しました")
                    document.getElementById("source_ipv6_address_start").value = ''
                    document.getElementById("source_ipv6_address_end").value = ''
                    document.getElementById("target_ipv6_address_start").value = ''
                    document.getElementById("target_ipv6_address_end").value = ''
                    document.getElementById("source_port_no_start").value = ''
                    document.getElementById("source_port_no_end").value = ''
                    document.getElementById("target_port_no_start").value = ''
                    document.getElementById("target_port_no_end").value = ''
                } else {
                    Message.info('入力内容が正しくありません')
                }
            })
        }
    </script>
</body>
</html>
